Systems and methods for signal processing using coordinate descent techniques for unit modulus least squares (umls) and unit-modulus quadratic program (umqp)

ABSTRACT

The present disclosure relates to methods and systems for signal processing using coordinate descent technique for solving technical implementation problems that are expressed as unit-modulus least squares (UMLS) and unit-modulus quadratic program (UMQP) problems. Embodiments provide for iteratively minimizing an objective function of a signal vector associated with a UMLS/UMQP problem expression over a set of coordinates of the signal vector to a convergence point. The objective function is minimized with respect to a vector element corresponding to a selected coordinate index, while other vector elements that do not correspond to the selected coordinate index are fixed. Accordingly, at each iteration, minimizing the objective function involves a solution to a one-dimensional univariate quadratic minimization. Embodiments also provide various coordinate index selection rules that include a cyclic CD rule (CCD), a randomized CD rule (RCD), randomly permuted CD rule (RPCD), and a greedy CD rule (CCD).

TECHNICAL FIELD

The present invention relates generally to communication technology, andmore particularly to signal processing that may be expressed asunit-modulus least squares (UMLS) and unit-modulus quadratic program(UMQP) problems in a communications network.

BACKGROUND OF THE INVENTION

There are many current technological applications in whichimplementation of particular features may give rise to problems that maybe expressed as optimization, estimation, and/or approximation problems.For example, implementing applications related to radar, communications,computer vision, optics, signal processing, distributed networks, etc.,may give rise to technical implementation problems that may be expressedas unit-modulus least squares (UMLS) problems. UMLS problems can also berecast to a generalized form, namely, as unit-modulus quadratic program(UMQP) problems. In one particular example, which is discussed in moredetail below, symbol detection in multiple-input multiple-output (MIMO)communications may involve estimating a signal vector, which may beexpressed as a UMLS problem. Thus, implementing MIMO detection may giverise to technical implementation problems that may be expressed as aUMLS problem. Other particular examples of implementations that mayinvolve signal processing problems that may be expressed as UMLS/UMQPproblem expressions may include phase-only beamforming, sourcelocalization, phase synchronization, phase retrieval, etc.

Thus, solving these technical implementation problems expressed asUMLS/UMQP problem expressions may involve solving a generalizedUMLS/UMQP problem. In general terms, a solution to a UMLS/UMQP problemmay involve optimizing a multivariate least squares or quadraticfunction subject to the constraint that all variables have unitmagnitudes. Some solutions have been proposed to solve the generalizedUMLS/UMQP problems.

One such solution to the UMLS/UMQP problem is based on the semi-definiterelaxation (SDR) approach. As will be discussed in further detail below,the general UMLS/UMQP problem is nonconvex and is also non-deterministicpolynomial-hard (NP-hard) due to unit-modulus constraints. The SDRapproach involves relaxing the nonconvex constraint to a convexoptimization problem. However, SDR lifts the problem dimension andrequires solving a much larger-scale convex problem. As such, animplementation using SDR will have a high computational complexity andmay not be suitable for large-scale scenarios.

Another solution to the UMLS/UMQP problem that has been proposed is thegradient projection (GP) approach. Under the GP approach, as will bediscussed in more detail below, at each iteration of the optimization,the solution is first updated along the negative gradient direction, andthen the result is projected back to the constraint set to ensure allthe iterates satisfy the unit-modulus requirement. However, theconvergence rate of the GP approach may be slow. As such, any systemimplemented using GP may require a large number of iterations to obtaina satisfactory accuracy of results.

BRIEF SUMMARY OF THE INVENTION

The present invention is directed to methods and systems which providerule sets to implement an iterative coordinate descent (CD) algorithmicframework to solve technical implementation problems that may beexpressed as UMLS/UMQP problem expressions. It is noted that, herein,the term “UMLS/UMQP problem expression” may refer to the expression of aproblem in the implementation of a technical feature in a technologicalapplication as a UMLS/UMQP problem. Thus, a solution to a “UMLS/UMQPproblem expression” may be utilized as a technical solution to thetechnical implementation problem expressed as the “UMLS/UMQP problemexpression.” Therefore, it will be appreciated that embodiments of thepresent disclosure provide a technological improvement to existingtechnological systems by providing means by which a UMLS/UMQP problemexpression in a system may be solved. For example, as described in moredetail below, UMLS/UMQP problem expressions in MIMO detection, sourcelocalization, and phase synchronization may be advantageously solvedusing the CD techniques in accordance with the present disclosure.

In operation according to embodiments of the present disclosure, aUMLS/UMQP problem expression may be expressed as a minimization of anobjective function of a vector subject to the constraint that allelements of the vector have unit magnitudes. The objective function ofthe vector may be iteratively minimized over a set of coordinates of thevector to a convergence point. Thus, in embodiments, a solution to theUMLS/UMQP problem expression may be found as the convergence point towhich the objective function of the vector is iteratively minimized. Ateach iteration, a coordinate index may be selected.

In some embodiments of the present disclosure, a framework of variouscoordinate index selection rules that include a cyclic CD rule (CCD), arandomized CD rule (RCD), randomly permuted CD rule (RPCD), and a greedyCD rule (GCD) may be provided. In operation, the various coordinateindex selection rules may be applied to select a coordinate index ateach iteration of the CD process.

In embodiments, the objective function may be minimized with respect tothe vector element corresponding to the selected coordinate index, whilethe other vector elements of the signal vector that do not correspond tothe selected coordinate index are fixed during the iteration such thatthese other vector elements do not change at the iteration. As such, inembodiments, at each iteration, minimizing the objective functioninvolves a solution to a one-dimensional univariate quadraticminimization. Furthermore, CD processes discussed herein exhibit globalconvergence to a Karush-Kuhn-Tucker (KKT) point of the UMLS/UMQP problemexpression. Thus, the objective function of the signal vector may beiteratively minimized such that the signal vector converges to a KKTpoint. In embodiments, the global convergence to a KKT point of the CDprocesses disclosed herein may be from any initial value for the signalvector.

In light of foregoing, it should be appreciated that the CD approachesprovided by the rule sets disclosed herein may be scalable,computationally simpler than current approaches, such as SDR, andconverge to a solution faster than current approaches such as GP.

The foregoing has outlined rather broadly the features and technicaladvantages of the present invention in order that the detaileddescription of the invention that follows may be better understood.Additional features and advantages of the invention will be describedhereinafter which form the subject of the claims of the invention. Itshould be appreciated by those skilled in the art that the conceptionand specific embodiment disclosed may be readily utilized as a basis formodifying or designing other structures for carrying out the samepurposes of the present invention. It should also be realized by thoseskilled in the art that such equivalent constructions do not depart fromthe spirit and scope of the invention as set forth in the appendedclaims. The novel features which are believed to be characteristic ofthe invention, both as to its organization and method of operation,together with further objects and advantages will be better understoodfrom the following description when considered in connection with theaccompanying figures. It is to be expressly understood, however, thateach of the figures is provided for the purpose of illustration anddescription only and is not intended as a definition of the limits ofthe present invention.

BRIEF DESCRIPTION OF THE DRAWINGS

For a more complete understanding of the present invention, reference isnow made to the following descriptions taken in conjunction with theaccompanying drawings, in which:

FIG. 1 shows a communication system configured to perform operations inaccordance with embodiments of the invention;

FIG. 2 shows another configuration of a communication system configuredto perform operations in accordance with embodiments of the invention;

FIG. 3 shows yet another configuration of a communication systemconfigured to perform operations in accordance with embodiments of theinvention;

FIG. 4 shows a functional block diagram illustrating example blocksexecuted to implement aspects of the present disclosure;

FIG. 5 shows another functional block diagram illustrating exampleblocks executed to implement aspects of the present disclosure;

FIG. 6 shows a chart illustrating experimental results from a systemimplemented in accordance with aspects of the present disclosure;

FIG. 7 shows another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;

FIG. 8 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;

FIG. 9 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;

FIG. 10 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;

FIG. 11 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;

FIG. 12 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure;and

FIG. 13 shows yet another chart illustrating experimental results from asystem implemented in accordance with aspects of the present disclosure.

DETAILED DESCRIPTION OF THE INVENTION

FIG. 1 illustrates a wireless communication system 100 configured inaccordance with aspects of the present disclosure. The configuration ofsystem 100 may facilitate implementation of rule sets that facilitate asolution to a UMLS/UMQP problem expression that may be utilized to solvetechnical implementation problems in the design and operations of system100. As shown in FIG. 1, system 100 may include at least one networkdevice 101 and at least one network device 105.

System 100 may comprise a communication network, such as a wirelesscommunication network, a cellular network, a cable transmission system,a Local Area Network (LAN), a Wireless LAN (WLAN), a Metropolitan AreaNetwork (MAN), a Wide Area Network (WAN), the Internet, the PublicSwitched Telephone Network (PSTN), etc., that may be configured tofacilitate communications between network devices 101 and 105. In someembodiments, system 100 may be configured to facilitate communicationsusing communication links according to one or more communicationprotocols or standards (e.g., a cellular communication protocol such asa 3^(rd) Generation (3G) protocol, a 4^(th) Generation (4G)/long termevolution (LTE) protocol, a 5^(th) Generation (5G) protocol, Bluetoothprotocol, Bluetooth Low Energy (BLE) protocol, a wireless local areanetwork (WLAN) protocol such as an 802.11 protocol, an 802.16 protocol,radio frequency (RF) communication protocols, and/or proprietarycommunication protocols, etc.).

In some embodiments, network device 101 and/or network device 105 may bea base station, such as an evolved node B (eNodeB), a macro cell, afemtocell, a pico cell, or another type of base station (e.g., accesspoint, network “hot spot” device, etc.), or a part thereof. Inembodiments, network device 101 and/or network device 105 may be a userequipment, such as a mobile device, a smartphone, a tablet computingdevice, a personal computing device, a laptop computing device, adesktop computing device, a computer system of a vehicle, a personaldigital assistant (PDA), a smart watch, a global positioning system(GPS) device, etc.

In some aspects, network device 101 may comprise processor 102 andmemory 103. Memory 103 may include read only memory (ROM) devices,random access memory (RAM) devices, one or more hard disk drives (HDDs),flash memory devices, solid state drives (SSDs), other devicesconfigured to store data in a persistent or non-persistent state, or acombination of different memory devices. Memory 103 may becommunicatively coupled to processor 102, and may store instructionsthat, when executed by processor 102, cause processor 102 to performoperations in accordance with the present disclosure. Network device 105may comprise processor 106 and memory 107. Memory 107 may becommunicatively coupled to processor 106, and may store instructionsthat, when executed by processor 106, cause processor 106 to performoperations in accordance with the present disclosure.

In embodiments, system 100 may be configured for multiple-inputmultiple-output (MIMO) communications. In this case, a transmission mayinclude multiple signals that may be transmitted concurrently over MIMOchannel 150, and the multiple signals may be received and combined todetect the transmission. In aspects, the multiple signals may becombined in a signal vector to detect transmission symbols.

Network device 101 may also include transmitter 104. Transmitter 104 maybe configured to transmit multiple signals over a MIMO channel. In someembodiments, transmitter 104 may include a plurality of transmittingmodules 110 a-n respectively configured to transmit signals 111 a-n overMIMO channel 150. In some aspects, transmitting modules 110 a-n may eachbe a transmitter, such as a radio transmitter, transceiver etc. In otherembodiments, transmitting modules 110 a-n may each be an antennacommunicatively coupled to transmitter 104 and configured to transmitsignals 111 a-n.

Network device 105 may also include receiver 108. Receiver 108 may beconfigured to receive multiple signals transmitted over a MIMO channel.In some embodiments, receiver 108 may include a plurality of receivingmodules 120 a-m, each of which may be configured to receive signals 111a-n over MIMO channel 150. In some aspects, receiving modules 120 a-mmay each be a receiver, such as a radio receiver, transceiver etc. Inother embodiments, receiving modules 120 a-m may each be an antennacommunicatively coupled to receiver 108 and configured to receive eachof signals 111 a-n.

During operation, and as will be discussed in more detail below, thetransmission of signals 111 a-n may include transmission of symbols ineach of signals 111 a-n, which may be detected at receiver 105. As notedabove, multiple signals 111 a-n may be propagated through the MIMOchannel 150, and each of signals 111 a-n may be received by receiver105. Thus, in aspects, each of receiving modules 120 a-m may receive aninstance of signals 111 a-n. The signals received at each of receivingmodules 120 a-m are combined into a signal vector representing thetransmission from transmitter 101. In this case, the detection of thetransmitted symbols may be expressed as a UMLS problem expression, asshown below, which may be solved using the CD techniques disclosedherein.

For example, in aspects, a particular signal emitted at the ithtransmitting module may be denoted by vector element x_(i) and allsymbols in signals 111 a-n may be collected in a signal vector x=[x₁, .. . , x_(n)]^(T). Signal vector x may adopt an M-ary phase-shift keyingconstellation in accordance with the following formulation:

$\begin{matrix}{{x_{i} \in \mathcal{M}} = {\{ {e^{\frac{j\; 2{\pi {({i - 1})}}}{M}},{i = 1},\ldots \;,M} \}.}} & (1)\end{matrix}$

As noted above, the transmitted symbols may propagate through MIMOchannel 150. In this case, MIMO channel 150 may be characterized by A∈

^(m×n), and the received signal at each of receiving modules 110 a-m maybe expressed as b=Ax+ν, where ν may represent a white Gaussian noisevector. In these embodiments, symbols may be detected using a maximumlikelihood (ML) detector for signal vector x. In some embodiments, asdiscussed herein, the ML detector may be implemented as software,hardware, or a combination thereof, in receiver 105. The ML detector maybe obtained in accordance with the following minimization formulation:

$\begin{matrix}{{{\min\limits_{x \in {\mathbb{C}}^{n}}{{{{Ax} - b}}^{2}\mspace{14mu} {s.t.\mspace{14mu} x_{i}}}} \in},{i = 1},\ldots \;,n} & (2)\end{matrix}$

As will be appreciated, the formulation of the MIMO detection problem inequation (2) is constrained to a discrete set which may only contain Melements. As such, the MIMO detection problem in equation (2) may besolved using the inventive CD approaches of embodiments of the presentdisclosure to solve a UMLS problem expression. These inventive CDapproaches for solving a UMLS problem expression will be discussed inmore detail below. It is noted that, in some embodiments, application ofthe CD approaches to the MIMO detection problem in equation (2) mayoperate to relax the discrete constraint, but may also includeapplication of a hard decision to the UMLS solution. For example, insome cases, the UMLS solution may not exactly align with symbolscorresponding to finite points on the unit circle. In this cases, foreach estimated element in the UMLS solution, a hard decision may referto selecting the closest symbol as the final estimate.

FIG. 2 illustrates a wireless communication system 200 configured inaccordance with another aspect of the present disclosure. Theconfiguration of system 200 may facilitate implementation of rule setsthat allow a solution to UMLS/UMQP problem expressions that may beutilized in implementations of source localization operations in system200. System 200 may comprise a communication network, which may beconfigured with functionality that may be similar to the functionalityof the communication network in system 100 discussed with reference toFIG. 1 above. As shown in FIG. 2, system 200 may include receivers 210a-n and at least one source transmitter 220. It is noted that thefunctionality of receivers 210 a-n and source transmitter 220 may besimilar to the functionality of the receivers and transmittersillustrated and discussed above with reference to FIG. 1. In someembodiments, each of receivers 210 a-n may be separate network devicesconfigured to receive transmissions from source transmitter 220. Inother embodiments, each of receivers 210 a-n may be receiving modulesthat are part of a single receiver. In this case, each of receivers 210a-n may represent a receiver, or may represent an antenna coupled to asingle receiver. In each case, however, it will be appreciated that eachof receivers 210 a-n may be configured to receive signal 211 from sourcetransmitter 220.

In some embodiments, system 200 may be a two-dimensional range-basedpositioning system, and each corresponding receiver of receivers 210 a-nmay have known coordinates {(α_(i), β_(i))∈

²}_(i−1) ^(n), while source transmitter 220's coordinates may beunknown, but may be represented as (α, β). In these embodiments, themeasured distance between source transmitter 220 and the ith receiver,denoted by γ_(i), may be expressed in accordance with the followingformulation:

γ_(i)=√{square root over ((α−α_(i))²+(β−β_(i))²)}+ν_(i) , i=1, . . .,n  (3)

where {ν_(i)}_(i=1) ^(n) are the additive noise components of thesignals received at the receivers.

In some embodiments, system 200 may be a time-synchronized system. Inthis case, the range between the source transmitter and a particularreceiver may be estimated by measuring the time-of-arrival, namely, theone-way propagation time of a signal traveling between the sourcetransmitter and the particular receiver, and then multiplying themeasured time by the known propagation speed. In other embodiments,system 200 may be a received signal strength-based positioning system.In this case, average power attenuation of a received signal may beutilized to determine the range between the source transmitter and aparticular receiver according to a signal path-loss model. In theseembodiments, source localization may refer to finding the location (α,β) of the source transmitter, e.g., source transmitter 220, given themeasured distance at each of the receivers {γ_(i)}_(i=1) ^(n) and theknown coordinates of receivers 210 a-n {α _(i), β_(i)}_(i=1) ^(n).

In embodiments, when the noise is white Gaussian distributed, the MLestimate of the source transmitter location may be obtained by solvingthe following:

$\begin{matrix}{\min\limits_{({\alpha,\beta})}{{f( {\alpha,\beta} )}\mspace{14mu} \text{:=}\mspace{14mu} {\sum\limits_{i = 1}^{n}\; ( {\sqrt{( {\alpha - \alpha_{i}} )^{2} + ( {\beta - \beta_{i}} )^{2}} + \gamma_{i}} )^{2}}}} & (4)\end{matrix}$

which may present a challenge as this problem is not only nonlinear butalso nonconvex. However, in accordance with the present disclosure, theproblem formulated in equation (4) may be converted to a UMLS problemexpression and thus, it may be solved using the inventive CD approachesof embodiments of the present disclosure. A description of theconversion of the problem into a UMLS formulation now follows.

In this example, complex number notation may be used to represent thecoordinates, and thus, z=α+jβ and {ζ_(i)=α_(i)+jβ_(i)}_(i=1) ^(n) maydenote the coordinates of source transmitter 220 and each correspondingreceiver of receivers 210 a-n in complex number notation. Thus, thedistance from the source transmitter to the ith receiver may beexpressed as |z−ζ_(i)|. Accordingly, the problem formulated in equation(4) may be equivalent to:

$\begin{matrix}{\min\limits_{z \in {\mathbb{C}}}{{f(z)}\mspace{14mu} \text{:=}\mspace{14mu} {\sum\limits_{i = 1}^{n}\; ( {{{z - \zeta_{i}}} - \gamma_{i}} )^{2}}}} & (5)\end{matrix}$

Furthermore, by introducing auxiliary unit-modulus variables{u_(i)=e^(j∠(z−ζ) ^(i) ⁾}_(i=1) ^(n), it may be shown that theformulation in equation (5) may be expressed as:

$\begin{matrix}{\min\limits_{{z \in {\mathbb{C}}},{{u_{i}} = 1}}{\sum\limits_{i = 1}^{n}\; {{z - \zeta_{i} - {\gamma_{i}u_{i}}}}^{2}}} & (6)\end{matrix}$

Defining ζ=[ζ₁, . . . , ζ_(n)]^(T), γ=[γ₁, . . . , γ_(n)]^(T), andu=[u₁, . . . , u_(n)]^(T), the formulation in equation (6) may becompactly written as:

$\begin{matrix}{\min\limits_{{z \in {\mathbb{C}}},{{u_{i}} = 1}}{{{1z} - ( {\zeta + {\gamma \odot u}} )}}^{2}} & (7)\end{matrix}$

For a fixed u, the optimal position of the source transmitter 220 may begiven by the following formulation:

$\begin{matrix}{z = {{\frac{1}{n}1^{T}( {\zeta + {\gamma \odot u}} )} = {\frac{1}{n}{\sum\limits_{i = 1}^{n}\; ( {\zeta_{i} + {\gamma_{i}u_{i}}} )}}}} & (8)\end{matrix}$

Accordingly, combining equations (7) and (8) eliminates z, which resultsin the following UMLS problem expression:

$\begin{matrix}{{\min\limits_{u \in {\mathbb{C}}^{n}}{{{\Gamma \; u} - \xi}}^{2}},{{s.t.\mspace{14mu} {u_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (9)\end{matrix}$

where

${\Gamma = {\begin{bmatrix}\gamma_{i} & \; & \; \\\; & \ddots & \; \\\; & \; & \gamma_{n}\end{bmatrix} - {\frac{1}{n}\begin{bmatrix}\gamma^{T} \\\vdots \\\gamma^{T}\end{bmatrix}}}},$

and ξ=1ζ−ζ with ζ=Σ_(i=1) ^(n)ζ_(i)/n being the mean of the positions ofall receivers. As such, the source localization problem expressed as aUMLS problem expression in equation (9) may be solved using theinventive CD approaches of embodiments of the present disclosure, asdiscussed in further detail below. It is noted that, once equation (9)is solved in accordance with the CD approaches discussed herein, anestimate of the source transmitter coordinates may be computed inaccordance with the following formulation:

$\begin{matrix}{\hat{z} = {\overset{\_}{\zeta} + {\frac{1}{n}{\sum\limits_{i = 1}^{n}\; {\gamma_{i}{u_{i}.}}}}}} & (10)\end{matrix}$

FIG. 3 illustrates a wireless communication system 300 configured inaccordance with yet another aspect of the present disclosure. Theconfiguration of system 300 may facilitate implementation of rule setsthat allow a solution to UMLS/UMQP problem expressions that may beutilized in implementations of phase synchronization operations insystem 300. System 200 may comprise a communication network, which maybe configured with functionality that may be similar to thefunctionality of the communication network in system 100 discussed withreference to FIG. 1 above. As shown in FIG. 3, system 300 may include atleast one network device 310 and at least one network device 320. It isnoted that the structure and functionality of network device 310 andnetwork device 320 may be similar to the functionality of networkdevices 101 and 105 illustrated and discussed above with reference toFIG. 1. Thus, in some embodiments, network device 310 may comprise aprocessor, memory, and a plurality of transmitting modules, and networkdevice 320 may comprise a processor, memory, and a plurality oftransmitting modules cooperatively operating to implement functions inaccordance with the present disclosure. Network device 310 may beconfigured to establish a communication link 330 with network device320.

In some embodiments, phase synchronization may aim to recover n anglesθ₁, . . . , θ_(n) in [−π, π) using noisy measurements of theirdifferences {θ_(i)−θ_(j)}_(i≠j) mod 2π. This may be equivalent toestimating n unimodular variables e^(jθ) ¹ , . . . , e^(jθ) ^(n) fromthe relative measurements {e^(j(θ) ^(i) ^(−θ) ^(j) ⁾}_(i≠j). In aspects,this phase synchronization problem may arise from clock synchronizationof distributed networks and signal reconstruction from phaselessmeasurements. In embodiments, the unimodular variables {x_(i)=e^(jθ)^(i) }_(i=1) ^(n) may be defined. Then, it may be noted that e^(j(θ)^(i) ^(−θ) ^(j) ⁾=x_(i)x*_(j). In this case, if the relative phasedifference between the ith and jth phases is stored in the (i, j) entryof a Hermitian matrix of C, then the following formulation may beobtained:

C=xx ^(H)+Δ  (11)

where Δ represents a Hermitian error. When the entries of Δ are whiteGaussian, the ML estimate of the vector x may be given by the followingformulation:

$\begin{matrix}{{\min\limits_{x \in {\mathbb{C}}^{n}}{{C - {xx}^{H}}}_{F}^{2}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (12)\end{matrix}$

Because ∥C−xx^(H)∥_(F) ²=∥C∥_(F) ²+∥xx^(H)∥_(F) ²−2x^(H)Cx and because∥xx^(H)∥_(F) ²=n², equation (12) may be reformulated as:

$\begin{matrix}{{\min\limits_{x \in {\mathbb{C}}^{n}}{{x^{H}( {- C} )}x}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (13)\end{matrix}$

which is a formulation of the UMQP problem expression. Since in thiscase −C is not positive semidefinite, this phase synchronization problemmay not be transformed into a UMLS problem expression. Nonetheless, theinventive CD approaches of embodiments of the present disclosure providerules sets that, when implemented in a system, such as system 300, mayprovide a solution to the phase synchronization problem expressed as aUMQP problem expression in equation (13).

The foregoing exemplary problem scenarios in which embodiments of thepresent disclosure may be implemented to provide a solution aredescribed herein to aid in the understanding of the concepts of thepresent invention and are not intended as a limitation on the scope orapplicability of those concepts or the invention herein. Accordingly,embodiments consistent with the concepts herein, although implementingvarious alterations with respect to the examples described above, arenevertheless included within the scope of the present invention. Forexample, although example embodiments of rule sets for implementingsolutions to the UMLS/UMQP problem expression are shown with referenceto MIMO detection, source localization, and phase synchronizationapplications, it should be appreciated that embodiments may beimplemented for any technological application in which technicalimplementation problems may be formulated as a UMLS/UMQP problemexpression.

Furthermore, to aid in the understanding of the concepts of the presentinvention, the discussion that now follows describes a generalizedformulation of UMLS/UMQP problem expressions, and also describes indetail the deficiencies of current approaches to solve the UMLS/UMQPproblem.

Generalized Formulation of the UMLS/UMQP Problem Expression and CurrentApproaches

As noted above, implementations of many technological applications mayinclude tasks, activities, or steps that may be generalized, andformulated, as UMLS/UMQP problem expressions. Solving these UMLS/UMQPproblem expressions may involve solving a generalized UMLS/UMQP problem.In general terms, a solution to a UMLS/UMQP problem may involveoptimizing a multivariate least squares or quadratic function subject tothe constraint that all variables have unit magnitudes.

With respect to the generalized UMLS problem, the UMLS problem may becharacterized as finding a signal vector by minimizing a least squarescost function, subject to the constraint that all elements of the signalvector have unit magnitudes. For example, a generalized formulation ofthe UMLS problem may be expressed as follows:

$\begin{matrix}{{\min\limits_{x \in {\mathbb{C}}^{n}}{{f(x)}\mspace{14mu} \text{:=}\mspace{14mu} {{{Ax} - b}}^{2}}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (14)\end{matrix}$

where x is the signal vector, n is the number of elements in the signalvector x, x_(i) is the ith element of x, A is a given multiplicationmatrix, b is a given observation vector, b∈

^(m), and A∈

^(m×n). In these implementations, a goal may be to find the vector x∈

^(n), given A and b, which may imply a solution to the UMLS problemformulated in equation (14). In general terms, b=Ax may indicate ageneral system of linear equations. As the length of b is m, there maybe m equations in b=Ax. A may contain coefficients of the unknowns in xfor each equation. For example, in a particular example, when m=3, andx=[x₁, x₂]^(T), b=Ax may be represented by:

b ₁ =A _(1,1) x ₁ +A _(1,2) x ₂

b ₂ =A _(2,1) x ₁ +A _(2,2) x ₂

b ₃ =A _(3,1) x ₁ +A _(3,2) x ₂

In this example, a goal may be to find x₁ and x₂ which best align withb=Ax based on least squares, subject to the magnitudes of x₁ and x₂being 1.

With respect to the generalized UMQP problem, the UMQP problem may beexpressed as optimizing a multivariate quadratic function subject to theconstraint that all elements have unit magnitudes. However, the UMQPproblem may be considered as a generalization of the UMLS problem. Forexample, the UMQP problem may be formulated as follows:

$\begin{matrix}{{{\min\limits_{x \in {\mathbb{C}}^{n}}{{q(x)}\mspace{14mu} \text{:=}\mspace{14mu} x^{H}{Cx}}} + {2{{Re}( {v^{H}x} )}}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (15)\end{matrix}$

where C∈

^(n×n) may be a Hermitian matrix, and ν∈

^(n) may correspond to a vector of the linear term in the UMQPformulation (e.g., in a particular implementation of phasesynchronization as discussed above). It should also be noted that forreal-valued signal vectors, e.g., x∈{−1, +1}^(n), the UMLS and UMQPformulations may be reduced to the Boolean least squares and Booleanquadratic program, respectively. It should further be noted that in somespecific applications, e.g., phase synchronization, ν may be zero.

A main difficulty in solving the UMLS problem in equation (14) may bethat the unit-modulus constraints to which the problem is subject to,namely {|x_(i)|²=1}_(i=1) ^(n), is a nonconvex constraint, and thus, theformulation of the UMLS problem may be considered a nonconvex problem.In fact, the UMLS problem may be considered a nonconvex quadraticallyconstrained quadratic program (QCQP). Additionally, the UMLS problem isNP-hard in general. This nonconvex and NP-hard properties of the UMLSproblem presents a significant challenge in implementing technicalfeatures of a system in which UMLS problems may arise.

As further noted above, one solution that has been proposed to addressthe difficulty presented by the nonconvexity of the UMLS problem is theSDR approach. In the SDR approach, the nonconvex constraint may berelaxed to the following convex formulation:

$\begin{matrix}{{\min\limits_{{x \in {\mathbb{C}}^{n}},{X \in {\mathbb{C}}^{n \times n}}}{{{Ax} - b}}^{2}},{{s.t.\mspace{14mu} X} \succcurlyeq {xx}^{H}},{X_{ii} = 1},{i = 1},\ldots \;,n} & (16)\end{matrix}$

where X

xx^(H) denotes that X−xx^(H) is positive semidefinite, and X_(ii)denotes the (i, i) entry of X. This is a convex optimization because theobjective is a convex function while the constraints are convex in termsof X and x, and the optimization may be solved by an interior-pointmethod. However, equation (16) lifts the original vector x∈

^(n) into a matrix X∈

^(n×n). As such, the number of optimization variables may be increasedfrom n to n², which results in a computational complexity of

(n⁷) per iteration. Considering the storage requirement of n² variables,the SDR approach becomes impractical and costly. This is especially truewhen n is large, e.g., in applications of large-scale MIMO detection andphase-only beamforming with massive antennas.

As also discussed above, a more recent solution that has been proposedto address the difficulty presented by the nonconvexity of the UMLSproblem is the GP approach. The GP approach, which is a first-ordermethod, seeks to reduce the computational and memory resources requiredby the generalized formulation in equation (14) by keeping theunit-modulus constraint and using projected gradient descent. In the GPapproach, at each iteration, the solution is updated along the negativegradient direction, and the result is then projected back to theconstraint set to ensure that all the iterates satisfy the unit-modulusrequirement. For example, at the kth iteration, the GP approach updatesthe estimate of the signal vector x in accordance with the following:

x ^(k+1)=Π_(S)(x ^(k)−α_(k)∇ƒ(x ^(k)))  (17)

where ∇ƒ(x)=A^(H)(Ax−b) denotes the gradient of ƒ(x), α_(k)>0 is thestep size, and Π_(S)( ) denotes the projection onto the unit-modulusconstraint set S={x∥x_(i)|²=1, i=1, . . . , n}. In this approach, forany vector z∈

^(n), the computation of the projection Π_(S)(z) may be simplified as itmerely requires the normalization of the modulus of each element, whichis given by:

$\begin{matrix}{\lbrack {\Pi_{S}(z)} \rbrack_{i} = \{ \begin{matrix}{{z_{i}/{z_{i}}},} & {{{if}\mspace{14mu} z_{i}} \neq 0} \\{{e^{j\; \theta},}\mspace{31mu}} & {{{if}\mspace{14mu} z_{i}} = 0}\end{matrix} } & (18)\end{matrix}$

where [Π_(S)(z)]_(i) denotes the ith entry of Π_(S)(z) and θ is anarbitrary angle in [−π, π).

In comparison to SDR, GP results in a smaller computational complexityof

(mn) per iteration. However, the convergence rate of the GP approach isslow, which results in a large number of iterations to attain asatisfactory accuracy. As such, systems that employ the currentapproaches for solving the UMLS/UMQP problem expression have cleardeficiencies due to the high complexity requirements and low performancedue to slow convergence rates. As will now be discussed in thedescription that follows, technological systems implemented inaccordance with the present disclosure address the deficiencies of thecurrent approaches. For example, technological systems implemented inaccordance with the present disclosure provide solutions to technicalimplementation problems that may be expressed as UMLS/UMQP problemexpressions by providing means by which the UMLS/UMQP problemexpressions may be solved. Therefore, systems implemented in accordancewith the present disclosure include improved functionality.Additionally, the present disclosure provides rule sets that, whenimplemented, provide a superior solution to the UMLS/UMQP problemexpressions over current solutions. Therefore, systems implemented inaccordance with the present disclosure include technical improvements incomputer resource utilization, speed, accuracy, and performance, overexisting solutions.

Coordinate Descent Techniques for UMLS/UMQP Problem Expression

The discussion that follows describes a novel approach that implementsan iterative CD algorithmic framework to solve UMLS/UMQP problemexpressions that may be utilized to solve problems in many technicalapplications. As has been noted above, the CD approach of embodiments inaccordance with aspects of the present invention addresses the UMLS/UMQPproblem expression in a more computationally efficient,easy-to-implement, and scalable manner than current approaches. As such,it will be appreciated that systems implemented in accordance with thepresent disclosure provide improved functionality. Furthermore,according to embodiments of the present disclosure, the CD approachinvolves an iterative procedure that successively minimizes theobjective function ƒ(x) along coordinate directions. More specifically,the CD approach of embodiments monotonically decreases the objectivefunction ƒ(x), which is lower bounded by ƒ(x^(k))≥0. Hence, the presentdisclosure provides rule sets that, when implemented, cause theobjective function ƒ(x) to converge to a convergence point. In someembodiments, the convergence point may be KKT point to which theobjective function converges from any initial value. In aspects, severalCD processes are disclosed, directed to different specificimplementations of the generalized CD approach.

According to one embodiment of the present disclosure, a non-greedy CD(NGCD) rule set to implement a process to address the UMLS problemexpression is disclosed. As used herein, a greedy approach to theUMLS/UMQP problem expression may refer to a scheme that may use gradientinformation together with constraint information in solving theUMLS/UMQP problem. A non-greedy approach to the UMLS/UMQP problemexpression may refer to a scheme that may not use gradient informationtogether with constraint information in solving the UMLS/UMQP problem.

FIG. 4 shows a functional block diagram illustrating example blocksexecuted to implement the non-greedy rule set of the present disclosure.In embodiments, each block illustrated in FIG. 4 may comprise a rule inthe rule set. In some aspects, the blocks illustrated in FIG. 4 may beimplemented as computer software, electronic hardware, or combinationsof both, and may include instructions executable in hardware, such asprocessor 106 of network device 105, the MLD detector described above,etc., to perform the tasks and functions implementing the rulesdescribed herein. It is noted that the NGCD process of embodimentsmonotonically decreases an objective function associated with theUMLS/UMQP problem expression until the function converges to aconvergence point. The convergence point may then be outputted as thesolution to the UMLS/UMQP problem expression. It is noted that in somecases, the convergence point may be considered a stationary point of theconstrained optimization problem.

At block 410, under the NGCD process implemented in accordance to theprovided rule set, matrix A and vector b may be given as inputs. Atblock 420, an initial value for the signal vector x^(k), for k=0, isselected. For example, the rule set may specify x⁰=0 or may specify theunconstrained least squares solution x⁰=A^(†)b as the initial value forx. It is noted that, in some embodiments, as discussed in more detailbelow, the objective function ƒ(x) may converge to a KKT point from anyinitial value. Thus, in some implementations, the initial value selectedduring initialization may not be relevant to the convergence limitpoint.

In embodiments, the NGCD process may continue to block 430. At block430, an initial residual r⁰ is computed in accordance with theformulation r⁰=Ax⁰−b, where matrix A and vector b are given as initialinputs, and x⁰ is the initial value for x computed duringinitialization. In embodiments, the NGCD process may then specifyiterations through k=0, 1, . . . until a termination condition issatisfied.

At block 440 of the NGCD process, a coordinate index i_(k) is selectedfor the current iteration k. It is noted that the NGCD process mayconsider that, in some embodiments, signal vector x may be expressed asx=[x₁, . . . , x_(n)]^(T). Therefore, the objective function ƒ(x) in thegeneralized formulation of UMLS in equation (14) may be expressed asƒ(x₁, . . . , x_(n)). Furthermore, for each iteration k, the resultantsignal vector of the kth iteration may be denoted as x^(k)=[x₁ ^(k), . .. , x_(n) ^(k)]^(T). Thus, according to embodiments, at the kthiteration, the objective function ƒ(x₁, . . . , x_(n)) may be minimizedwith respect to the selected coordinate index i_(k), where i_(k)∈{1, . .. , n}, while the remaining n−1 vector elements of the signal vectorx^(k), e.g., vector elements {x_(i) ^(k)}_(i≠i) _(k) , may remain fixed.This may allow the minimization of ƒ(x₁, . . . , x_(n)) in accordancewith the foregoing to be expressed as follows:

$\begin{matrix}{x_{i_{k}}^{k + 1} = {\arg \mspace{14mu} {\min\limits_{{x_{i_{k}}} = 1}{f( {x_{1}^{k},\ldots \;,x_{i_{k - 1}}^{k},x_{i_{k}},x_{i_{k + 1}}^{k},\ldots \;,x_{n}^{k}} )}}}} & (19)\end{matrix}$

According to embodiments of the present disclosure, several approachesfor selecting coordinate index i_(k) may be provided. For example, insome aspects, the NGCD process may provide a rule for selecting, foreach kth iteration, a coordinate index i_(k). In embodiments of thepresent disclosure, selecting the coordinate index i_(k) may beperformed using a particular rule. For example, selecting the coordinateindex i_(k) may be performed using one of the three following rules:

-   -   Cyclic CD (CCD): The coordinate index i_(k) may be specified        sequentially and cyclically. For example, at a first iteration        k, the coordinate index i_(k) may be selected to be 1, at a        second iteration k+1, the coordinate index i_(k+1) may be        selected to be 2, and so forth until a coordinate index for a        particular iteration may be selected to be n. The selected        values for the coordinate index may then be repeated starting        with i_(k)=1 again. Thus, coordinate index i_(k) may take values        cyclically from {1, . . . , n}, and one cycle may correspond to        n iterations.    -   Random CD (RCD): The value of coordinate index i_(k) for each        iteration may be randomly selected from {1, . . . , n} with        equal probability for each value in the set for each iteration.    -   Randomly permuted CD (RPCD): This rule may be considered a        combination of the CCD rule and the RCD rule. Under RPCD, at        each cycle, the order of the values selected for coordinate        index i_(k) may be non-sequential, e.g., from 1 to n, but        instead may be random permutations of {1, . . . , n}. Therefore,        under RPCD, every coordinate value in the set {1, . . . , n} may        be selected at each cycle for coordinate index i_(k), but the        order of the selected values at each cycle may be randomly        permuted.

The NGCD process may continue to block 450. At block 450, a vector d_(i)_(k) is computed based on the residual r^(k). According to embodiments,for fixed n−1 vector elements {x_(i) ^(k)}_(i≠i) _(k) , the objectivefunction of equation (19) may be a univariate quadratic function ofvector element x_(i) _(k) that may be formulated as follows:

{tilde over (ƒ)}(x _(i) _(k) )=∥x _(i) _(k) a _(i) _(k) −d _(i) _(k)∥²  (20)

where a_(i) _(k) is the i_(k)th column of given matrix A, and d_(i) _(k)=b−Σ_(j≠i) _(k) x_(j) ^(k)a_(j). If the residual at the kth iteration isdenoted as r^(k)=Ax^(k)−b, then the corresponding value of the objectivefunction may be expressed as ƒ(x^(k))=∥r^(k)∥². As such, d_(i) _(k) maybe expressed in terms of a_(i) _(k) and r^(k) as follows:

d _(i) _(k) =b−Σ _(j=1) ^(n) x _(j) ^(k) a _(j) +x _(i) _(k) ^(k) a _(i)_(k) =b−Ax ^(k) +x _(i) _(k) ^(k) a _(i) _(k) =x _(i) _(k) ^(k) a _(i)_(k) −r ^(k)  (21)

At block 460, the optimal solution for vector element x_(i) _(k) ^(k+1)at the kth iteration is computed. In embodiments, dropping thesubscripts in equation (20) for notational simplicity may result in thefollowing equivalent scalar minimization problem:

$\begin{matrix}{{\min\limits_{x \in {\mathbb{C}}}{{\overset{\sim}{f}(x)}\mspace{14mu} \text{:=}\mspace{14mu} {{{xa} - d}}^{2}}},{{s.t.\mspace{14mu} {x}^{2}} = 1}} & (22)\end{matrix}$

The univariate objective function in equation (22) may be expanded asfollows:

{tilde over (ƒ)}(x)=|x| ² ∥a∥ ²−2Re(x*a ^(H) d)+∥d∥ ²  (23)

Since any feasible solution fulfills the unit-modulus constraint |x|²=1in equation (22), the term |x|²∥a∥² in equation (23) may be expressed asa constant ∥a∥². As such, equation (22) may be expressed as amaximization problem of the real part of a complex number, subject to aunit-modulus constraint. This maximization problem may be expressed as

${\max\limits_{x \in {\mathbb{C}}}\mspace{14mu} {{Re}( {x^{*}a^{H}d} )}},{{s.t.\mspace{14mu} {x}} = 1.}$

It should be understood that, in general, the real part of a complexnumber is not larger than its modulus. Therefore,Re(x*a^(H)d)≤|x*a^(H)d|=|x∥a^(H)d|=|a^(H)d|. Furthermore, it is notedthat Re(x*a^(H)d) may attain a maximum value when x*a^(H)d is a realpositive number or when the phase angle of x is the same as that ofa^(H)d. In light of this, and considering that |x|=1, x may be expressedin exponential form of a complex number, with a^(H)d as the angle of thecomplex number. Thus, x=e^(j∠(a) ^(H) ^(d)). As such, the optimalsolution for vector element x_(i) _(k) ^(k+1), originally formulated in(19), may be expressed in exponential form of a complex number asfollows:

$\begin{matrix}{x_{i_{k}}^{k + 1} = e^{j\; {\angle {({a_{i_{k}}^{H}d_{i_{k}}})}}}} & (24)\end{matrix}$

It will be appreciated that as d_(i) _(k) is constructed from the givenvector b and the i_(k)th column of given matrix A, then the optimalsolution for primal element x_(i) _(k) ^(k+1) based on the univariatequadratic function in equation (20) may be obtained based on the givenmatrix A and given vector b.

At block 470, and continuing at iteration k, the residual of theobjective function with respect to the next iteration k+1, r^(k+1), iscomputed. In aspects, equations (23) and (24) may be combined to obtainthe objective function at the (k+1)th iteration. Therefore, theobjective function at the (k+1)th iteration may be expressed as:

ƒ(x ^(k+1))={tilde over (ƒ)}(x _(i) _(k) ^(k+1))=∥a _(i) _(k) ∥²−2|a_(i) _(k) ^(H) d _(i) _(k) |+∥d _(i) _(k) ∥².  (25)

Because the n−1 vector elements {x_(i) ^(k)}_(i≠i) _(k) remained fixed,only the i_(k)th element of the solution has been changed at the kthiteration. As such, it follows that x^(k+1)=x^(k)+(x_(i) _(k)^(k+1)−x_(i) _(k) ^(k))e_(i) _(k) , where e_(i) _(k) is the unit vectorwith the i_(k)th entry being one and all other entries being zero. Thus,the residual r^(k+1) may be updated in accordance with the followingformulation:

r ^(k+1) =Ax ^(k+1) −b=Ax ^(k) −b+(x _(i) _(k) ^(k+1) −x _(i) _(k)^(k))Ae _(i) _(k) =r ^(k)−(x _(i) _(k) ^(k+1) −x _(i) _(k) ^(k))a _(i)_(k)    (26)

As will be appreciated, based on the equation (26), for each iteration,the residual may be updated efficiently by a mere computation of ascalar-vector multiplication (x_(i) _(k) ^(k+1)−x_(i) _(k) ^(k))a_(i)_(k) , which may not have high computational requirements. As such, thesuccessive iterations of the NGCD process may be performed without highcomputation costs.

In embodiments, the NGCD process may continue to iterate through k=0, 1,. . . until a termination condition is encountered. Thus, at block 480,the NGCD process determines if a termination condition has been met. Inaspects, there may be various conditions for terminating the NGCDprocess. For example, the reduction of the objective function ƒ(x) maybe used to check for convergence. In a specific implementation, the NGCDprocess may be terminated when ∥r^(k)∥²−∥r^(k+1)∥²<TOL holds, whereTOL>0 is a small tolerance parameter. In some aspects, TOL may bepredetermined and may be a particular value from 0. For example, TOL maybe a value between 0 and 10⁻⁵. It should be noted that, as the NGCDprocess monotonically decreases the objective function ƒ(x), thisimplies that ∥r^(k)∥²−∥r^(k+1)∥²>0.

If at block 480 the NGCD process determines that a termination conditionhas not been met, the NGCD process continues iterating through k andcontinues operations back to block 440, where a coordinate index withrespect to the next iteration may be selected.

If at block 480 the NGCD process determines that a termination conditionhas been met, the NGCD process operations stop iterating through k andcontinue at block 490, where the signal vector with respect to the nextiteration x^(k+1) is outputted. It should be appreciated that as theNGCD process monotonically decreases the objective function ƒ(x), aftera termination condition, which may indicate a convergence to aconvergence point, x^(k+1) may have the converged point value and thus,may be a solution to the UMLS problem expression.

It is noted that the complexity of the three CD coordinate indexselection rules discussed above, namely the CCD, RCD, and RPCD, has beenfound to be

(m) per iteration. Therefore, the complexity of a cycle for CCD or RPCD,which may be n iterations, may be

(mn). It is also noted that, as discussed above, current full gradientmethods, such as GP and accelerated GP (AGP) also have a complexity of

(mn).

The NGCD process discussed above is further exemplified below by thepseudo code shown in Table 1.

TABLE 1 Input: A ϵ 

 ^(m×n) and b ϵ 

 ^(m) Initialization: Choose x⁰ ϵ 

 ^(n). Compute residual r⁰ = Ax⁰ − b. for k = 0, 1, ... , do Chooseindex i_(k) ϵ {1, ... , n}; d_(i) _(k) = x_(i) _(k) ^(k) a_(i) _(k) −r^(k) ; x_(i) _(k) ^(k+1) = cj∠(a_(i) _(k) ¹¹ d_(i) _(k) ); Updateresidual r^(k+1) = r^(k) + (x_(i) _(k) ^(k+1) − x_(i) _(k) ^(k) )a_(i)_(k) Stop if termination condition is satisfied. end for Output: x^(k+1)

According to another embodiment of the present disclosure, a greedy CD(GCD) rule set to implement a process to address the UMLS problemexpression is disclosed. FIG. 5 shows a functional block diagramillustrating example blocks executed to implement the GCD aspect of thepresent disclosure. In embodiments, each block illustrated in FIG. 5 maycomprise a rule in the rule set. In some aspects, the blocks illustratedin FIG. 5 may be implemented as computer software, electronic hardware,or combinations of both, and may include instructions executable inhardware, such as processor 106 of network device 105, the MLD detectordescribed above, etc., to perform the tasks and functions implementingthe rules described herein.

As noted above, the GCD process monotonically decreases the objectivefunction ƒ(x) until the function converges to a limit point. Theconverged limit point is then outputted as the solution to the UMLSproblem expression. The GCD process may have similarities to the NGCDprocess, but, in some embodiments, may include distinct rules. Inparticular, the GCD process may choose the coordinate with the largestabsolute value of the partial derivative. Therefore, in comparison withthe NGCD process, the GCD process may attain a faster convergence rate,although full gradient computation may be required at each iteration.The GCD, thus, may also include rules for computing and updating agradient of the objective function ƒ(x), and for selecting and updatingboth primal and dual variables.

At block 500, under the GCD process implemented in accordance to theprovided rule set, matrix A and vector b may be given as inputs. Atblock 505, an initial value for the signal vector x^(k), for k=0, isselected. For example, the rule set may specify x⁰=0 or may specify theunconstrained least squares solution x⁰=A^(†)b as the initial value forx. It is noted that, in some embodiments, as discussed in more detailbelow, the objective function ƒ(x) may converge to a KKT point from anyinitial value. Thus, in some implementations, the initial value selectedduring initialization may not be relevant to the convergence limitpoint.

As noted above, and as will be discussed in more detail below, the GCDprocess may also, at each kth iteration, consider the dual variablesvector λ^(k). Thus, at block 505, the GCD process of embodiments mayalso specify an initial value for the dual variables vector λ^(k), fork=0. For example, in some implementations, an initial value of 0 may beselected for dual variables vector λ^(k), for k=0.

At block 510, an initial residual r⁰ is computed in accordance with theformulation r⁰=Ax⁰−b, where matrix A and vector b are the given asinputs, and x⁰ is the initial value for x computed duringinitialization. At block 515, the GCD process may also specify a rule tocompute an initial gradient of the objective function for the initialvalue of the signal vector ∇ƒ(x⁰), in accordance with the formulation∇ƒ(x⁰)=A^(H)r⁰, where matrix A is the given input, and r⁰ is computedduring initialization as discussed above. In embodiments, the GCDprocess may then specify iterations through k=0, 1, . . . until atermination condition is satisfied.

At block 520, a coordinate index i_(k) is selected for the currentiteration k. It is noted that, as discussed above, the minimization ofthe objective function ƒ(x₁, . . . x_(n)) may be expressed as inequation (19) above. It is also noted that, generally, in a greedyscheme (e.g., a scheme that does not consider the unit-modulusconstraint), the standard way to compute the coordinate index i_(k) mayinclude finding, and selecting, a coordinate index at which the absolutevalue of a partial derivative of the objective function of the signalvector with respect to the coordinate index is maximized. Thiscomputation may be formulated as follows:

$\begin{matrix}{{i_{k} = {\arg \mspace{14mu} {\max\limits_{i}{{\nabla{f_{i}( x^{k} )}}}}}},{{\nabla{f_{i}(x)}} = \frac{\partial{f(x)}}{\partial x_{i}^{*}}}} & (27)\end{matrix}$

However, equation (27) is merely applicable to unconstrainedoptimization, a different formulation may be used to derive the GCD forthe constrained problem in equation (27). In some embodiments, to takeinto account the unit-modulus constraint of the UMLS problem expression,both primal and dual variables may be needed. Thus, based on theformulation of the UMLS problem expression in equation (14), theLagrangian of equation (14) may be constructed and expressed as follows:

(x,λ)=ƒ(x)+Σ_(i=1) ^(n)λ_(i)(|x _(i)|²−1)  (28)

where the Lagrange vector λ=[λ₁, . . . λ_(n)]^(T)∈

^(n) contains the Lagrange multipliers, or dual variables.

At the kth iteration, the GCD process considers not only the vectorelement x^(k) but also the dual variables vector λ^(k). Thus, under theGCD process, the following gradient vector may be considered:

$\begin{matrix}{{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k}} )}} = {{\frac{\partial\mathcal{L}}{\partial x^{*}}_{x = x^{k}}} = {{\nabla{f( x^{k} )}} + {\lambda^{k} \odot x^{k}}}}} & (29)\end{matrix}$

In light of this, at block 520, coordinate index i_(k) may be selectedas the coordinate index if the i_(k)th entry of ∇_(x)

(x^(k), λ^(k)) has the maximum modulus, or |[∇_(x)

(x^(k), λ^(k))]_(i) _(k) |=∥∇_(x)

(x^(k), λ^(k))∥_(∞). Therefore, this GCD coordinate index selectionrule, that may be applicable at step 520, may be expressed as follows:

$\begin{matrix}{i_{k} = {\arg \mspace{14mu} {\max\limits_{i}{{{\nabla{f_{i}( x^{k} )}} + {\lambda_{i}^{k}x_{i}^{k}}}}}}} & (30)\end{matrix}$

At block 525, a vector d_(i) _(k) is computed based on the residualr^(k). The formulation of this rule at block 525 may be similar to theformulation of the rule in the NGCD process and may be expressed as inequation (29) shown above. Thus, vector d_(i) _(k) in the GCD processmay be computed in accordance with equation (29).

At block 530 of the GCD process, vector element x_(i) _(k) ^(k+1) may becomputed based on an optimal solution in the kth iteration. Theformulation of this rule at block 530 may be similar to the formulationof the rule in the NGCD process and may be expressed as in equation (24)shown above. Thus, the vector element x_(i) _(k) ^(k+1) in the GCDprocess may be updated in accordance with equation (24).

At block 535, the dual variable λ_(i) _(k) ^(k+1) with respect to thenext iteration k+1 may be determined and updated. In embodiments,determining λ^(k)=[λ₁ ^(k), . . . , λ_(n) ^(k)]^(T) may includeconstructing the Lagrangian of formulation (22) above, as follows:

(x,λ)=|x| ² ∥a∥ ²−2Re(x*a ^(H) d)+λ(|x| ²−1)  (31)

where λ∈

is the Lagrange multiplier. It is noted that λ may be a real numberbecause of the real-valued constraint |x|²=1, even though x may be acomplex variable. Thus, the optimal primal-dual variables (x, λ) maysatisfy the first-order optimal condition

${\frac{\partial{\overset{\sim}{\mathcal{L}}( {x,\lambda} )}}{\partial x^{*}} = {{{( {{a}^{2} + \lambda} )x} - {a^{H}d}} = 0}},$

which may yield the following formulation:

$\begin{matrix}{x = \frac{a^{H}d}{{a}^{2} + \lambda}} & (32)\end{matrix}$

It is also noted that the partial derivative for complex variables ofequation (31) may refer to the Wirtinger calculus, which may be definedas follows:

$\begin{matrix}{\frac{\partial\overset{\sim}{\mathcal{L}}}{\partial x^{*}}\overset{\Delta}{=}{\frac{1}{2}( {\frac{\partial\overset{\sim}{\mathcal{L}}}{\partial{{Re}(x)}} + {j\frac{\partial\overset{\sim}{\mathcal{L}}}{\partial{{Im}(x)}}}} )}} & (33)\end{matrix}$

Therefore, considering equation (32) in light of the optimal solutionfor vector element x_(i) _(k) ^(k+1) in equation (24), it follows that∥a∥²+λ=|a^(H)d|. Accordingly, the dual variable vector λ_(i) _(k) ^(k+1)computed at block 535 may be expressed as follows:

λ_(i) _(k) ^(k+1) =|a _(i) _(k) ^(H) d _(i) _(k) |−∥a _(i) _(k) ∥²  (34)

At block 540, and continuing at iteration k, the residual of theobjective function with respect to the next iteration k+1, r^(k+1), iscomputed. The formulation of this rule at block 540 may be similar tothe formulation of the rule in the NGCD process and may be expressed asin equation (26). Thus, residual r^(k+1) in the GCD process may beupdated at block 540 in accordance with formulation (26).

At block 545, the GCD process may also provide rules for updating thegradient of the objective function with respect to the next iteration,namely ∇ƒ(x^(k+1)). In aspects, the gradient ∇ƒ(x^(k+1)) may be updatedin accordance with the formulation ∇ƒ(x^(k+1))=∇ƒ(x^(k))+(x_(i) _(k)^(k+1)−x_(i) _(k) ^(k))A^(H)a_(i) _(k) . In some aspects, matrix-vectorproduct A^(H)a_(i) _(k) may be pre-computed before the kth iteration ofthe GCD process. Therefore, the per-iteration complexity of the GCDprocess may be

(m). Thus, it should be appreciated that, a system implementing the GCDprocess may achieve a faster convergence rate than a system implementingCCD, RCD, or RPCD, while keeping the same per-iteration complexity.

In embodiments, the GCD process may continue to iterate through k=0, 1,. . . until a termination condition is encountered. Thus, at block 550,the GCD process determines if a termination condition has been met. Inaspects, there may be various conditions for terminating the GCDprocess. For example, the reduction of the objective function ƒ(x) maybe used to check for convergence. In a specific implementation, the GCDprocess may be terminated when ∥r^(k)∥²−∥r^(k+1)∥²<TOL holds, whereTOL>0 is a small tolerance parameter. In some aspects, TOL may bepredetermined and may be a particular value from 0. For example, TOL maybe a value between 0 and 10⁻⁵. It should be noted that, as the GCDprocess monotonically decreases the objective function ƒ(x), thisimplies that ∥r^(k)∥²−∥r^(k+1)∥²>0.

If at block 550 the GCD process determines that a termination conditionhas not been met, the GCD process continues iterating through k andcontinues operations back to block 520, where a coordinate index withrespect to the next iteration may again be selected. However, if atblock 550 the GCD process determines that a termination condition hasbeen met, the GCD process operations stop iterating through k andcontinue at block 555, where the signal vector with respect to the nextiteration x^(k+1) is outputted. It should be appreciated that as the GCDprocess monotonically decreases the objective function ƒ(x), after atermination condition, which may indicate a convergence to a convergencepoint, x^(k+1) may have the converged point value and thus, may be asolution to the UMLS problem expression.

It should be noted that a property of the GCD process may be that thecoordinate selected at the current iteration k may not be selected againin the next iteration k+1. In order to provide proof of this property ofthe GCD process, it is noted that if the following is proved,

∇_(i) _(k) ƒ(x ^(k+1))+λ_(i) _(k) ^(k+1) x _(i) _(k) ^(k+1)=0  (35)

then |∇_(i) _(k) ƒ(x^(k+1))+λ_(i) _(k) ^(k+1)x_(i) _(k) ^(k+1)|=0, whichis the smallest modulus. Thus, i_(k) may not be selected in the nextiteration.

Observing ∇_(i) _(k) ƒ(x^(k+1)) may be the i_(k)th element of the fullgradient ∇ƒ(x^(k+1))=A^(H)r^(k+1), it is noted that

$\begin{matrix}\begin{matrix}{{\nabla_{i_{k}}{f( x^{k + 1} )}} = {{a_{i_{k}}^{H}r^{k + 1}} = {a_{i_{k}}^{H}( {r^{k} + {( {x_{i_{k}}^{k + 1} - x_{i_{k}}^{k}} )a_{i_{k}}}} )}}} \\{= {a_{i_{k}}^{H}( {{x_{i_{k}}^{k}a_{i_{k}}} - d_{i_{k}} + {( {x_{i_{k}}^{k + 1} - x_{i_{k}}^{k}} )a_{i_{k}}}} )}} \\{= {{a_{i_{k}}^{H}d_{i_{k}}} + {x_{i_{k}}^{k + 1}{a_{i_{k}}}^{2}}}}\end{matrix} & (36)\end{matrix}$

On the other hand,

$\begin{matrix}\begin{matrix}{{\lambda_{i_{k}}^{k + 1}x_{i_{k}}^{k + 1}} = {{x_{i_{k}}^{k + 1}{{a_{i_{k}}^{H}d_{i_{k}}}}} - {x_{i_{k}}^{k + 1}{{a_{i_{k}}}^{2}}}}} \\{= {{{{a_{i_{k}}^{H}d_{i_{k}}}}e^{j\; {\angle {({a_{i_{k}}^{H}d_{i_{k}}})}}}} - {x_{i_{k}}^{k + 1}{a_{i_{k}}}^{2}}}} \\{= {{a_{i_{k}}^{H}d_{i_{k}}} - {x_{i_{k}}^{k + 1}{a_{i_{k}}}^{2}}}}\end{matrix} & (37)\end{matrix}$

Adding equations (36) and (37) yields the formulation in equation (35)and thus, equation (35) is proven. Accordingly, the coordinate selectedat the current iteration k may not be selected again in the nextiteration k+1.

The GCD process discussed above is further exemplified below by thepseudo code shown in Table 2.

TABLE 2 Algorithm 2 Greedy CD for UMLS Input: A ∈ 

^(m×n)  and b ∈ 

^(m)  Initialization: Choose x⁰  ∈ 

^(n) and λ⁰ ∈ 

^(n).  Compute residual r⁰ = Ax⁰ − b.  Compute gradient ∇f(x⁰) =A^(H)r⁰.  for k = 0, 1, . . . , do   ${{Choose}\mspace{14mu} {index}\mspace{14mu} i_{k}} = {\arg \underset{i}{\; \max}{{{\nabla_{i}{f( x^{k} )}} + {\lambda_{i}^{k}x_{i}^{k}}}}\text{:}}$  d_(i) _(k) = x_(i) _(k) ^(k)a_(i) _(k) − r^(k):   Update  primal  λ_(i_(k))^(k + 1) = c^(j∠(a_(i_(k))^(H)d_(i_(k)))):  Update dual λ_(i) _(k) ^(k+1) = |a_(i) _(k) ^(H)d_(i) _(k) | − ∥a_(i)_(k) ∥²:   Update residual r^(k+1) = r^(k) + (x_(i) _(k) ^(k+1) − x_(i)_(k) ^(k))a_(i) _(k)   Update gradient ∇f(x^(k+1)) = ∇f(x^(k)) + (x_(i)_(k) ^(k+1) − x_(i) _(k) ^(k))A^(H)a_(i) _(k)   Stop if terminationcondition is satisfied.  end for Output: x^(k+1)

In some embodiments, the CD approaches discussed above, namely the NGCDprocess and the GCD, may be extended to the UMQP problem as discussednow. It is noted that a general form of the UMQP may be expressed asfollows:

$\begin{matrix}{{{\min\limits_{x \in {\mathbb{C}}^{n}}{{q(x)}\mspace{14mu} \text{:=}\mspace{14mu} x^{H}{Cx}}} + {2{{Re}( {v^{H}x} )}}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (38)\end{matrix}$

where C∈

^(n×n) is a given Hermitian matrix and ν∈

^(n) is a given vector. In embodiments, if matrix C is positivesemidefinite, then matrix C may have the Cholesky decompositionC=L^(H)L. It is also noted that the formulation of the general UMQPproblem in equation (38) may be expressed as the following UMLS problemexpression:

$\begin{matrix}{{\min\limits_{x \in {\mathbb{C}}^{n}}{{{Lx} - w}}^{2}},{{s.t.\mspace{14mu} {x_{i}}^{2}} = 1},{i = 1},\ldots \;,n} & (39)\end{matrix}$

where w∈

^(n) satisfies Lw=ν. When C has full rank, e.g., when C is positivedefinite, then L may be full rank and w=L⁻¹ν may be unique. When C isrank deficient, L may also be rank deficient and the linear system ofequations Lw=ν may have infinite solutions. In this case, embodiments ofthe present disclosure may select a single solution e.g., w=L^(†)ν, andthus, the CD algorithms for UMLS discussed above may be applied to theUMQP formulation in equation (38), if C is positive semidefinite.

However, in some embodiments, C may not be not positive semidefinite. Inthese embodiments, the function q(x) may not be represented by a squareof the l₂-norm and thus, the UMQP problem may not be expressed as a UMLSproblem expression. However, the disclosed CD processes discussed abovemay be extended in accordance with embodiments of the present disclosureto solve the UMQP problem with slight modifications as discussed below.For example, at the kth iteration where the i_(k)th variable isselected, the scalar minimization problem with respect to vector elementx_(i) _(k) may be expressed as follows:

$\begin{matrix}{{\min\limits_{{x_{i_{k}}} = 1}{{x_{i_{k}}}^{2}c_{i_{k}i_{k}}}} + {2{{Re}( {x_{i_{k}}^{*}( {t_{i_{k}} + v_{i_{k}}} )} )}}} & (40)\end{matrix}$

where t_(i) _(k) =Σ_(j≠i) _(k) c_(i) _(k) _(j)x_(j) ^(k), and c_(ij) isthe (i, j) entry of the given matrix C.

Additionally, the vector element x_(i) _(k) may be updated by theoptimal solution of equation (40). Thus, the optimal vector elementx_(i) _(k) may be expressed in exponential form of a complex number,with −(t_(i) _(k) +ν_(i) _(k) ) as the angle of the complex number.Accordingly, the optimal vector element may be expressed as

x_(i_(k))^(k + 1) = e^(j ∠ − (t_(i_(k)) + v_(i_(k)))).

In embodiments, t_(i) _(k) may be computed and updated in accordancewith the following. Denoting the i_(k)th column of C as c_(i) _(k) , thei_(k)th row of C may be c_(i) _(k) ^(H) since C is Hermitian.Accordingly, t_(i) _(k) may be expressed as t_(i) _(k) =c_(i) _(k)^(H)x^(k)−x_(i) _(k) ^(k)c_(i) _(k) _(i) _(k) . Furthermore, definingh=Cx, it follows that h^(k)=Cx^(k), and therefore, c_(i) _(k) ^(H)x^(k)may be the i_(k)th entry of h^(k), which may be denoted by h_(i) _(k)^(k). This yields the following:

t _(i) _(k) =h _(i) _(k) ^(k) −x _(i) _(k) ^(k) c _(i) _(k) _(i) _(k)  (41)

Thus, the NGCD process and the GCD, may be extended to the UMQP problembased on the above modifications. The CD approach for UMQP isexemplified below in the pseudo code shown in Table 3. It should beappreciated that only the i_(k)th element of the solution has beenchanged at the kth iteration. Therefore, it is noted that h isefficiently updated by a mere computation of a scalar-vectormultiplication h^(k+1)=h^(k)+(x_(i) _(k) ^(k+1)−x_(i) _(k) ^(k))c_(i)_(k) , which may not have high computational requirements.

TABLE 3 Algorithm 3 CD for UMQP Input: C ϵ 

 ^(n×n) and v ϵ 

 ^(n) Initialization: Choose x⁰ ϵ 

 ^(n). Compute h⁰ = Cx⁰. for k = 0, 1, ... , do Choose index i_(k) ϵ {1,... , n}; t_(i) _(k) = h_(i) _(k) ^(k) − x_(i) _(k) ^(k) c_(i) _(k) _(i)_(k) ; x_(i) _(k) ^(k+1) = cj∠−(t_(i) _(k) +v_(i) _(k) ); Update h^(k+1)= h^(k) + (x_(i) _(k) ^(k+1) − x_(i) _(k) ^(k) )c_(i) _(k) Stop iftermination condition is satisfied. end for Output: x^(k+1)

Convergence Analysis of the Novel CD Approaches

It is noted that typical convergence analyses of CD is limited tounconstrained optimization or convex constraints. However, as discussedabove, the unit-modulus constraint in the UMLS/UMQP problem expressionis nonconvex. Therefore, the existing convergence analyses may not beapplicable to the CD for UMLS/UMQP. As mentioned above, the CDalgorithms monotonically decrease the objective function ƒ(x), which islower bounded by ƒ(x^(k))≥0. Hence, the objective function ƒ(x) mayconverge to a limit point. In the discussion that follows, it is shownthat the CD approaches discussed herein globally converge to a KKT pointfrom any initial value. A point (x, λ) is called a KKT point of theconstrained optimization problem in equation (14) if it satisfies thefollowing:

∇_(x)

(x,λ)=∇ƒ(x)+λ⊙x=0

|x _(i)|²=1, i=1, . . . ,n  (42)

The GCD process may generate both primal and dual variables, e.g., asequence {(x^(k), λ^(k))}. However, the CCD, RCD, and RPCD non-greedyprocesses may not explicitly generate the dual variables. Nonetheless,observing that the optimal dual variable in the GCD process at eachiteration k may also satisfy the formulation in equation (32), it may beshown that the NGCD processes may implicitly generate a sequence of{(x^(k), λ^(k))} containing the primal and dual variables. The followingstatement shows the convergence of the CD processes.

-   -   Statement 1: The sequence {(x^(k), λ^(k+1))} generated by the        RCD and RPCD processes and the GCD process globally converges to        a KKT point of the UMLS problem expression from an arbitrary        initial value.

The following discussion describes a proof of Statement 1. It isappreciated that the CD processes compute, at each iteration, the vectorelement with respect to the next iteration as

x_(i_(k))^(k + 1) = e^(j ∠(a_(i_(k))^(H)d_(i_(k)))).

Accordingly, the results at all iterations satisfy the unit-modulusconstraint. Hence, the second equality of the KKT condition may befulfilled for all iterates. Note that here, it is intended to prove that{(x^(k), λ^(k+1))} rather than {(x^(k), λ^(k))} converges. This slightmodification does not affect the convergence conclusion because

${\lim\limits_{karrow\infty}( {x^{k},\lambda^{k + 1}} )} = {\lim\limits_{karrow\infty}{( {x^{k},\lambda^{k}} ).}}$

Exploiting d_(i) _(k) =x_(i) _(k) ^(k)a_(i) _(k) −r^(k) of (36) and|x_(i) _(k) ^(k)|=1, the proof may begin from equation (25):

$\begin{matrix}\begin{matrix}{{f( x^{k + 1} )} =} & {{{a_{i_{k}}}^{2} - {2{{a_{i_{k}}^{H}d_{i_{k}}}}} + {d_{i_{k}}}^{2}}} \\{=} & {{{a_{i_{k}}}^{2} - {2{{a_{i_{k}}^{H}d_{i_{k}}}}} + {{{x_{i_{k}}^{k}a_{i_{k}}} - r^{k}}}^{2}}} \\{=} & {{{a_{i_{k}}}^{2} - {2{{a_{i_{k}}^{H}d_{i_{k}}}}} + {{x_{i_{k}}^{k}}^{2}{a_{i_{k}}}^{2}} + {r^{k}}^{2} - {2{{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}r^{k}} )}}}} \\{=} & {{{2{a_{i_{k}}}^{2}} - {2{{a_{i_{k}}^{H}d_{i_{k}}}}} + {r^{k}}^{2} - {2{{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}r^{k}} )}}}}\end{matrix} & (43)\end{matrix}$

which yields:

ƒ(x ^(k+1))−ƒ(x ^(k))=2(∥a _(i) _(k) ∥² −|a _(i) _(k) ^(H) d _(i) _(k)|−Re((x _(i) _(k) ^(k))*a _(i) _(k) ^(H) r ^(k)))  (44)

where we have used ƒ(x^(k))=∥r^(k)∥². Again, employing r^(k)=x_(i) _(k)^(k)a_(i) _(k) −d_(i) _(k) results in

$\begin{matrix}\begin{matrix}{{{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}r^{k}} )} = {{Re}( {{{x_{i_{k}}^{k}}^{2}{a_{i_{k}}}^{2}} - {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}d_{i_{k}}}} )}} \\{= {{a_{i_{k}}}^{2} - {{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}d_{i_{k}}} )}}}\end{matrix} & (45)\end{matrix}$

and hence,

ƒ(x ^(k+1))−ƒ(x ^(k))=2(Re((x _(i) _(k) ^(k))*a _(i) _(k) ^(H) d _(i)_(k) )−|a _(i) _(k) ^(H) d _(i) _(k) |)  (46)

As |x_(i) _(k) ^(k)|=1, it follows that Re((x_(i) _(k) ^(k))*a_(i) _(k)^(H)d_(i) _(k) )≤|(x_(i) _(k) ^(k))*a_(i) _(k) ^(H)d_(i) _(k) |=|a_(i)_(k) ^(H)d_(i) _(k) |, where the equality may occur only when

x_(i_(k))^(k + 1) = e^(j ∠(a_(i_(k))^(H)d_(i_(k)))).

In fact, it is noted that

x_(i_(k))^(k + 1) = e^(j ∠(a_(i_(k))^(H)d_(i_(k))))  and  x_(i_(k))^(k + 1) ≠ x_(i_(k))^(k),

and x_(i) _(k) ^(k+1)≠x_(i) _(k) ^(k), unless the algorithm converges.Therefore, ƒ(x^(k+1))−ƒ(x^(k))<0, which implies that the objectivefunction ƒ(x) strictly decreases.

On the other hand, the partial derivative of the Lagrangian may beevaluated with respect to the i_(k)th component at (x^(k), λ^(k+1)) inaccordance with the following formulation:

$\begin{matrix}\begin{matrix}{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}} = \lbrack {{\nabla{f( x^{k} )}} + {\lambda^{k + 1} \odot x^{k}}} \rbrack_{i_{k}}} \\{= {{\nabla_{i_{k}}{f( x^{k} )}} + {\lambda_{i_{k}}^{k + 1}x_{i_{k}}^{k}}}} \\{= {{x_{i_{k}}^{k}{a_{i_{k}}}^{2}} - {a_{i_{k}}^{H}d_{i_{k}}} + {( {{{a_{i_{k}}^{H}d_{i_{k}}}} - {a_{i_{k}}}^{2}} )x_{i_{k}}^{k}}}} \\{= {{x_{i_{k}}^{k}{{a_{i_{k}}^{H}d_{i_{k}}}}} - {a_{i_{k}}^{H}d_{i_{k}}}}}\end{matrix} & (47)\end{matrix}$

where equation (34) has been used in the third equality. Taking squaredmodulus on both sides of equation (47) may lead to the following:

$\begin{matrix}\begin{matrix}{{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2} = {{2{{a_{i_{k}}^{H}d_{i_{k}}}}^{2}} - {2{{{a_{i_{k}}^{H}d_{i_{k}}}} \cdot {{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{H}d_{i_{k}}} )}}}}} \\{= {2{{a_{i_{k}}^{H}d_{i_{k}}}}( {{{a_{i_{k}}^{H}d_{i_{k}}}} - {{Re}( {( x_{i_{k}}^{k} )^{*}a_{i_{k}}^{k}d_{i_{k}}} )}} )}}\end{matrix} & (48)\end{matrix}$

Combining equations (46) and (48) may yield the following formulation:

$\begin{matrix}{{{f( x^{k} )} - {f( x^{k + 1} )}} = \frac{{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2}}{{a_{i_{k}}^{k}d_{i_{k}}}}} & (49)\end{matrix}$

By Cauchy-Schwarz and triangle inequalities, an upper bound of

a_(i_(k))^(H)d_(i_(k))

is derived as follows:

$\begin{matrix}\begin{matrix}{{{a_{i_{k}}^{k}d_{i_{k}}}} \leq {{a_{i_{k}}}{d_{i_{k}}}}} \\{{= {{a_{i_{k}}}{{{x_{i_{k}}^{k}a_{i_{k}}} - r^{k}}}}}} \\{{\leq {{a_{i_{k}}}( {{a_{i_{k}}} + {r^{k}}} )}}} \\{{{\leq {M_{a}( {M_{a} + {r^{0}}} )}}\overset{\Delta}{=}C_{a}}}\end{matrix} & (50)\end{matrix}$

where

$M_{a} = {\max\limits_{1 \leq i \leq n}\{ {a_{i}} \}}$

may be the maximum of the l₂-norms of the columns. Additionally, itshould be noted that the objective function ƒ(x) monotonicallydecreases, which implies that ∥r^(k)∥≤∥r⁰∥. Furthermore, a lower boundon the progress made by each CD process iteration k may be obtained as:

$\begin{matrix}{{{f( x^{k} )} - {f( x^{k + 1} )}} \geq {\frac{1}{C_{a}}{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2}}} & (51)\end{matrix}$

For different rules of coordinate index selection, the right-hand sideof equation (51) may differ. However, the RCD, RPCD, and GCD processesare discussed together in the following discussion.

For the RCD and RPCD processes, since the coordinate index i_(k) may bea random variable, the objective function ƒ(x^(k+1)) may also be random.Accordingly, the expected value of the objective function ƒ(x^(k+1)) maybe evaluated based on the coordinate index i_(k) in accordance with thefollowing:

$\begin{matrix}\begin{matrix}{{\lbrack {f( x^{k + 1} )} \rbrack} \leq {\lbrack {{f( x^{k} )} - {\frac{1}{C_{a}}{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2}}} \rbrack}} \\{{= {{f( x^{k} )} - {\frac{1}{C_{a}}{\sum\limits_{i = 1}^{n}\; {\frac{1}{n}{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2}}}}}}} \\{{= {{f( x^{k} )} - {\frac{1}{{nC}_{a}}{{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}^{2}}}}}\end{matrix} & (52)\end{matrix}$

where the facts that the coordinate index i_(k) is uniformly sampledfrom {1, . . . , n} with equal probability of 1/n, and that theobjective function ƒ(x^(k)) in the previous iteration is alreadydeterministic are employed. Then the RCD/RPCD processes may obtain areduction on the objective function ƒ(x) in accordance with thefollowing:

$\begin{matrix}{{{f( x^{k} )} - {\lbrack {f( x^{j + 1} )} \rbrack}} \geq {\frac{1}{{nC}_{a}}{{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}^{2}}} & (53)\end{matrix}$

Setting k=0, . . . , j in equation (53), and summing over allinequalities yields the following:

$\begin{matrix}\begin{matrix}{{\sum\limits_{k = 0}^{j}\; {{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}^{2}} \leq {{nC}_{a}( {{f( x^{0} )} - {\lbrack {f( x^{j + 1} )} \rbrack}} )}} \\{{\leq {{nC}_{a}( {f( x^{0} )} }}}\end{matrix} & (54)\end{matrix}$

where ƒ(x^(j+1))≥0 may be applied. Taking the limit as j→∞ on (54) mayresult in a convergent series as follows:

Σ_(k=0) ^(∞)∥∇_(x)

(x ^(k),λ^(k+1))∥² ≤nC _(a)ƒ(x ⁰)  (55)

It should be noted that if a series converges, then its terms approachzero. This may indicate that the sequence (x^(k), λ^(k+1)), generated bythe RCD/RPCD processes, converges to a KKT as shown in the followingformulation:

$\begin{matrix}{{\lim\limits_{karrow\infty}{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}} = 0} & (56)\end{matrix}$

In embodiments, GCD may choose the index with the largest partialderivative in magnitude, which may lead to the following:

$\begin{matrix}\begin{matrix}{{\lbrack {\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}} \rbrack_{i_{k}}}^{2} = {{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}_{\infty}^{2}} \\{{\geq {\frac{1}{n}{{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}^{2}}}}\end{matrix} & (57)\end{matrix}$

Substituting equation (57) into equation (51) may yield the followinglower bound of the progress of one GCD iteration:

$\begin{matrix}{{{f( x^{k} )} - {f( x^{k + 1} )}} \geq {\frac{1}{{nC}_{a}}{{\nabla_{x}{\mathcal{L}( {x^{k},x^{k + 1}} )}}}^{2}}} & (58)\end{matrix}$

The foregoing may indicate that one GCD iteration decreases theobjective function with an amount of at least

$\frac{1}{{nC}_{a}}{{{\nabla_{x}{\mathcal{L}( {x^{k},\lambda^{k + 1}} )}}}^{2}.}$

Following similar steps as discussed above with respect to the RCD/RPCDprocesses, it may be shown that ∇_(x)

(x^(k), λ^(k+1)) vanishes as k→∞ and thus, the sequence generated by theGCD converges to a KKT point.

It is noted that, as used herein, global convergence to a KKT point maymean that CD converges from an arbitrary initial value. Unlike localconvergence, global convergence may not require the initial value to benear the KKT point.

Furthermore, the above discussion describes and shows the convergence ofthe RCD, RPCD and GCD processes. With respect to the CCD process, it hasbeen observed from numerical simulations that the CCD process convergeseven faster than the RCD and RPCD processes. Therefore, it has beenshown empirically that the CCD process may also converge to a KKT point.

Experimental Results

As noted above, the CD approaches in accordance with aspects of thepresent invention address the UMLS/UMQP problem in a morecomputationally efficient, easy-to-implement, and scalable manner thancurrent approaches. Experimental results show that the inventiveconcepts herein outperform other systems in computational complexity andefficiency.

With respect to convergence behavior of the CCD, RCD, RPCD, and GCDprocesses disclosed herein, it is noted that the true signal x may beuniformly distributed in the unit circle. That is, x_(i)=e^(jϕ) ^(i) ,where ϕ_(i) satisfies a uniform distribution in [−π, π]. Each entry ofthe matrix A is a standard circular Gaussian distributed variable. Afterx and A are generated, the observation may be constructed as b=Ax+v,where v is the white Gaussian noise. The signal-to-noise ratio (SNR) maybe defined as follows:

$\begin{matrix}{{SNR} = \frac{\lbrack {{Ax}}^{2} \rbrack}{m\; \sigma_{v}^{2}}} & (60)\end{matrix}$

where σ_(ν) ² is the variance of v.

Initially, the process sets m=150 and n=100. The four CD processesdisclosed herein, namely CCD, RCD, RPCD, and GCD, are compared with theGP and AGP. Note that it is fair to compare n iterations (one cycle) forthe CD with one GP/AGP iteration because the theoretical complexity ofthe CD per cycle is the same as the GP/AGP per iteration. Twoperformance metrics may be employed to evaluate the convergence rate.The first may be the objective function normalized with respect to ∥b∥²,i.e., ∥r^(k)∥²/∥b∥². The second may be the relative estimation error:

$\begin{matrix}\frac{{{x^{k} - x}}^{2}}{{x}^{2}} & (61)\end{matrix}$

which may reflect the convergence speed to the original signal.

FIG. 6 shows a plot of the objective reduction, and FIG. 7 shows a plotof the estimation error, versus the number of iterations/cycles in theabsence of noise with 50 independent trials. The averaged results arealso provided with thick lines. As can be seen, all processes convergeto the true signal at a linear rate, and exactly recover the truesignal. FIGS. 8 and 9 show the normalized objective function andestimation error, respectively, at SNR=20 dB. In both noise-free andnoisy cases, the four CD processes disclosed herein converge faster thanGP and AGP processes, which exploit full gradient. The AGP processconverges faster than the GP process at the beginning stage of theiterations, but it becomes slower as the iteration progresses. Amongstall the shown process, the convergence speed of the GCD processes isshown to be the fastest.

The CD processes disclosed herein were tested on a computer with anIntel Core i3 2.20 GHz CPU and a 2 GB memory. The average running times(in seconds) of the CD (per cycle), GP and AGP (per iteration) wereobserved as 3.28×10⁻³, 3.91×10⁻³, and 4.22×10⁻³, respectively. Hence,the complexity of one cycle in the CD processes, corresponding to niterations, is indeed comparable to one iteration in the GP/AGP.Together with the fact that the CD needs fewer iterations to converge,the computational efficiency over the GP/AGP is thus demonstrated.

An under-determined scenario with m=80 and n=100 may also be considered.Even though there may be no noise, the unconstrained least squaressolution may not recover x from the observation b since Ax=b may haveinfinitely many solutions and A^(†)b may not necessarily coincide withthe true one. However, if the true signal is unimodular and thisstructural property is exploited, the UMLS can recover the true signalfor m<n.

FIG. 10 shows a plot of the estimation error versus the number ofiterations/cycles, where the results are also based on 50 independenttrials. As can be seen, the four CD processes disclosed herein, GP, andAGP all converge to the true solution since their estimation errorsapproach zero. Therefore, these processes exactly recover the truesignal for (m, n)=(80, 100) by exploiting the unit—modulus property. Dueto m<n, A^(H)A is rank deficient. All processes may converge slowercompared with the case of m≥n. Nonetheless, the four CD processesconverge much faster than the GP and AGP processes. Note that the finalaccuracies with which the GCD and GP processes attain the signal may be10⁻²⁸ and 10⁻²⁹, respectively, while that of the CCD, RCD, and RPCDprocesses may be 10⁻³⁰. This may be because the GCD and GP processesrequire gradient calculation, which may involve pre-computing the matrixproduct A^(H)A. This matrix multiplication may harm the numericalstability and may result in the loss of one or two significant digits.This may also be a reason why a UMLS may not be converted to a UMQP. TheCCD, RCD, and RPCD processes, which do not require the gradient, aremore numerically stable than the GCD and GP.

The CD and GP processes may also be considered with respect to MIMOdetection in the presence of white Gaussian noise. As the four CDprocesses discussed herein mainly differ in convergence rate, theseprocesses may give the same results upon convergence. Therefore, tosimplify the discussion herein, the following discussion focuses on theCCD process. The results of the zero-forcing (ZF) detector, which mayapply hard decision to the unconstrained least squares solution A^(†)b,may also be included.

The following discussion considers a MIMO system with m=n=100, while thetransmitted signal adopts quadrature PSK (QPSK) modulation, namely,x_(i)∈{1, −1, j, −j}, and the observed vector is generated using b=Ax+v.FIG. 11 shows a plot of the soft decisions in one experiment, with thefirst and second rows showing the results at SNRs of 20 dB and 30 dB,respectively. As can be seen, the CCD and GP processes exhibit muchtighter groupings than the ZF. FIG. 12 shows a plot of the symbol errorrate (SER) versus SNR after hard decision is applied in all processes.As can be seen, the ZF performs unsatisfactorily while the CCD and GPprocesses have much lower SER. As shown, the CCD process performs thebest.

With respect to source localization, the following discussion considersa deployment with n=4 receivers at known coordinates (−1, −2), (4, 6),(7, 3), and (5, 8), while the unknown source position may be (9, 12). Itis noted that the source is located outside the convex hull of the fourreceivers and is far away from all the receivers, and such asource-receiver deployment is “harsh” for localization. The rangemeasurements are generated according to (3) where {ν_(i)}_(i=1) ^(n) arewhite Gaussian processes with variances σ_(ν,i) ², and they have thesame SNR, which is defined as SNR=γ_(i) ²/σ_(ν,i) ². The root meansquare error (RMSE) of the location estimate is adopted as theperformance measure:

RMSE=√{square root over (E[∥({circumflex over (α)},{circumflex over(β)})−(α,β)∥²])}  (62)

where ({circumflex over (α)}, {circumflex over (β)}) may be the positionestimate obtained by a positioning method.

All simulation results are based on an average of 1000 independenttrials. The CCD process first solves the UMLS problem (9) and then findsthe position estimate via (10). Comparison with two standard schemes,namely, linear least squares (LLS) and subspace methods, as well as rootCramér-Rao lower bound (CRLB) is also made. The results are shown in thechart illustrated in FIG. 13 and the near-optimality of the CD process,as well as its superiority over the LLS and subspace estimators areobserved.

Those of skill would further appreciate that the various illustrativelogical blocks, modules, circuits, and algorithm steps described inconnection with the disclosure herein may be implemented as electronichardware, computer software, or combinations of both. To clearlyillustrate this interchangeability of hardware and software, variousillustrative components, blocks, modules, circuits, and steps have beendescribed above generally in terms of their functionality. Whether suchfunctionality is implemented as hardware or software depends upon theparticular application and design constraints imposed on the overallsystem. Skilled artisans may implement the described functionality invarying ways for each particular application, but such implementationdecisions should not be interpreted as causing a departure from thescope of the present disclosure. Skilled artisans will also readilyrecognize that the order or combination of components, methods, orinteractions that are described herein are merely examples and that thecomponents, methods, or interactions of the various aspects of thepresent disclosure may be combined or performed in ways other than thoseillustrated and described herein.

Functional blocks and modules in FIGS. 1-5 may comprise processors,electronics devices, hardware devices, electronics components, logicalcircuits, memories, software codes, firmware codes, etc., or anycombination thereof. Consistent with the foregoing, various illustrativelogical blocks, modules, and circuits described in connection with thedisclosure herein may be implemented or performed with a general-purposeprocessor, a digital signal processor (DSP), an application specificintegrated circuit (ASIC), a field programmable gate array (FPGA) orother programmable logic device, discrete gate or transistor logic,discrete hardware components, or any combination thereof designed toperform the functions described herein. A general-purpose processor maybe a microprocessor, but in the alternative, the processor may be anyconventional processor, controller, microcontroller, or state machine. Aprocessor may also be implemented as a combination of computing devices,e.g., a combination of a DSP and a microprocessor, a plurality ofmicroprocessors, one or more microprocessors in conjunction with a DSPcore, or any other such configuration.

The steps of a method or algorithm described in connection with thedisclosure herein may be embodied directly in hardware, in a softwaremodule executed by a processor, or in a combination of the two. Asoftware module may reside in RAM memory, flash memory, ROM memory,EPROM memory, EEPROM memory, registers, hard disk, a removable disk, aCD-ROM, or any other form of storage medium known in the art. Anexemplary storage medium is coupled to the processor such that theprocessor can read information from, and write information to, thestorage medium. In the alternative, the storage medium may be integratedwithin the processor. The processor and the storage medium may reside inan ASIC. The ASIC may reside in a user terminal, base station, a sensor,or any other communication device. In the alternative, the processor andthe storage medium may reside as discrete components in a user terminal.

In one or more exemplary designs, the functions described may beimplemented in hardware, software, firmware, or any combination thereof.If implemented in software, the functions may be stored on ortransmitted over as one or more instructions or code on acomputer-readable medium. Computer-readable media include both computerstorage media and communication media including any medium thatfacilitates transfer of a computer program from one place to another.Computer-readable storage media may be any available media that can beaccessed by a general purpose or special purpose computer. By way ofexample, and not limitation, such computer-readable media can compriseRAM, ROM, EEPROM, CD-ROM or other optical disk storage, magnetic diskstorage or other magnetic storage devices, or any other medium that canbe used to carry or store desired program code means in the form ofinstructions or data structures and that can be accessed by ageneral-purpose or special-purpose computer, or a general-purpose orspecial-purpose processor. Also, a connection may be properly termed acomputer-readable medium. For example, if the software is transmittedfrom a website, server, or other remote source using a coaxial cable,fiber optic cable, twisted pair, or digital subscriber line (DSL), thenthe coaxial cable, fiber optic cable, twisted pair, or DSL, are includedin the definition of medium. Disk and disc, as used herein, includescompact disc (CD), laser disc, optical disc, digital versatile disc(DVD), floppy disk and blu-ray disc where disks usually reproduce datamagnetically, while discs reproduce data optically with lasers.Combinations of the above should also be included within the scope ofcomputer-readable media.

Although the present invention and its advantages have been described indetail, it should be understood that various changes, substitutions andalterations can be made herein without departing from the spirit andscope of the invention as defined by the appended claims. Moreover, thescope of the present application is not intended to be limited to theparticular embodiments of the process, machine, manufacture, compositionof matter, means, methods and steps described in the specification. Asone of ordinary skills in the art will readily appreciate from thedisclosure of the present invention, processes, machines, manufacture,compositions of matter, means, methods, or steps, presently existing orlater to be developed that perform substantially the same function orachieve substantially the same result as the corresponding embodimentsdescribed herein may be utilized according to the present invention.Accordingly, the appended claims are intended to include within theirscope such processes, machines, manufacture, compositions of matter,means, methods, or steps.

What is claimed is:
 1. A method of communications in a wirelesscommunication system, the communications including operations expressedas a function of a signal vector subject to a unit-modulus constraint,wherein the function of the signal vector is iteratively minimized overa set of coordinates to a convergence point, the method comprising:selecting, at a current iteration of the operations, a coordinate indexcorresponding to a vector element of the signal vector; applying, at thecurrent iteration, minimizing operations to the function of the signalvector with respect to the vector element corresponding to the selectedcoordinate index, wherein the minimizing operations result in an optimalvalue for the vector element corresponding to the selected coordinateindex with respect to a next iteration, the next iteration beingsubsequently adjacent to the current iteration, and wherein vectorelements corresponding to coordinate indices different than the selectedcoordinate index are not changed by the minimizing operations in thecurrent iteration; and updating a residual of the function of the signalvector, with respect to the next iteration, based on the optimal vectorelement, wherein updating the residual value of the next iterationincludes a scalar-vector multiplication operation of the optimal vectorelement.
 2. The method of claim 1, wherein selecting the coordinateindex corresponding to the vector element includes selecting thecoordinate index from a set of coordinate index values, wherein eachcoordinate index value in the set of coordinate index values correspondsto a different vector element of the signal vector.
 3. The method ofclaim 2, wherein the coordinate index values in the set of coordinateindex values are sequentially ordered, and wherein selecting thecoordinate index includes selecting the coordinate index based on acyclical rule in which the coordinate index is selected, at eachiteration of the operations, sequentially from the set of coordinateindex values, and wherein, upon reaching the sequential end of thecoordinate index values in the set of coordinate index values, the firstsequential coordinate index value in the set of coordinate index valuesis selected in a corresponding iteration.
 4. The method of claim 2,wherein selecting the coordinate index includes selecting the coordinateindex based on a random rule in which the coordinate index is randomlyselected, at each iteration of the operations, from the set ofcoordinate index values.
 5. The method of claim 1, wherein selecting thecoordinate index includes selecting the coordinate index based on arandomly permuted rule in which the coordinate index is randomlyselected, at each iteration of the operations, from the set ofcoordinate index values, and wherein each coordinate index value in theset of coordinate index values is selected only once per cycle, thecycle corresponding to a number of iterations equal to a number ofcoordinate index values in the set of coordinate index values.
 6. Themethod of claim 1, wherein the operations to solve the function of thesignal vector subject to the unit-modulus constraint is formulated as aunit-modulus least squares (UMLS) problem and is expressed as${\min\limits_{x \in {\mathbb{C}}^{n}}{{f(x)}\mspace{14mu} \text{:=}\mspace{14mu} {{{Ax} - b}}^{2}}},$s.t. |x_(i)|²=1, i=1, . . . , n, where ƒ(x) is the function of thesignal vector, x is the signal vector, i is the coordinate index, x_(i)is the vector element corresponding to the selected coordinate index, Ais a given matrix, b is a given observation vector, and n is a number ofvector elements of the signal vector.
 7. The method of claim 6, whereinthe minimizing operations of the function of the signal vector includecomputing the optimal value for the vector element corresponding to theselected coordinate index with respect to a next iteration in accordancewith exponential formulation of a complex numberx_(i_(k))^(k + 1) = e^(j ∠(a_(i_(k))^(H)d_(i_(k)))), where k is thecurrent iteration, i_(k) is the selected coordinate index, e is theexponential function, a_(i) _(k) is the i_(k) column of given matrix A,a_(i) _(k) ^(H) is a Hermitian of a_(i) _(k) a_(i) _(k) , and d_(i) _(k)=x^(k) _(i) _(k) a_(i) _(k) −r^(k), where r^(k) is the residual of thefunction of the signal vector with respect to the current iteration. 8.The method of claim 7, wherein updating the residual of the function ofthe signal vector with respect to the next iteration is in accordancewith r^(k+1)=r^(k)+(x^(k+1) _(i) _(k) −x^(k) _(i) _(k) )a_(i) _(k) ,where r^(k+1) represents the residual of the function of the signalvector with respect to the next iteration.
 9. The method of claim 6,further comprising initializing, at an initial iteration, the signalvector, wherein an initial value of the signal vector is selected as oneof: zero, and a value representing a solution to an unconstrained leastsquares solution expressed as x⁰=A^(†)b, where x⁰ is the initial valueof the signal vector.
 10. The method of claim 9, further comprisingcomputing, at the initial iteration, an initial residual value r⁰ forthe function of the signal vector, wherein the initial residual value r⁰is based on the initial value of the signal vector x⁰ and based on thegiven matrix A, wherein computing the initial residual value r⁰ is inaccordance with r⁰=Ax⁰−b.
 11. The method of claim 1, further comprising:determining if a termination condition has been met; and outputting,when determining that the termination condition has been met, the signalvector, wherein the signal vector includes a value representing theconvergence point of the function of the signal vector due to theoperations.
 12. The method of claim 11, wherein the terminationcondition is determined to be met when the function of the signal vectorconverges to the convergence point within some predetermined value,wherein whether the function converges to the convergence point isdetermined based on a difference of the square of the norm of theresidual of the function with respect to the current iteration and thesquare of the norm of the residual of the function with respect to thenext iteration, wherein the termination condition is expressed as∥r^(k)∥²−∥r^(k+1)∥²<TOL, where r^(k) is the residual of the function ofthe signal vector with respect to the current iteration, r^(k+1) is theresidual of the function of the signal vector with respect to the nextiteration, and TOL is the predetermined value.
 13. The method of claim1, wherein selecting the coordinate index corresponding to the vectorelement includes: computing a dual variables vector corresponding to theselected coordinate index with respect to the current iteration; andcomputing an arg max of a gradient of the function of the signal vectorwith respect to the current iteration based on a product of the vectorelement corresponding to the selected coordinate index and the dualvariables vector corresponding to the selected coordinate index, whereinthe arg max of the gradient results in a coordinate index for which thegradient of the function yields a largest absolute value.
 14. The methodof claim 13, further comprising: updating the dual variables vectorcorresponding to the selected coordinate index with respect to the nextiteration; and updating the gradient of the function of the signalvector with respect to the next iteration.
 15. The method of claim 14,wherein updating the dual variables vector is in accordance withλ_(i_(k))^(k + 1) = a_(i_(k))^(H)d_(i_(k)) − a_(i_(k))², whereλ_(i) _(k) ^(k+1) is a dual variables vector component of the dualvariables vector with respect to the next iteration, x_(i) is the vectorelement corresponding to the selected coordinate index, i_(k) is theselected coordinate index, a_(i) _(k) is the i_(k) column of a givenmatrix A, a_(i) _(k) ^(H) is a Hermitian of a_(i) _(k) , andd_(i_(k)) = x_(i_(k))^(k)a_(i_(k)) − r^(k), where r^(k) is the residualof the function of the signal vector with respect to the currentiteration.
 16. The method of claim 14, wherein updating the gradient ofthe function of the signal vector is in accordance with∇f(x^(k + 1)) = ∇f(x^(k)) + (x_(i_(k))^(k + 1) − x_(i_(k))^(k))A^(H)a_(i_(k)),where ∇ƒ(x^(k+1)) is the gradient of the dual variables vector withrespect to the next iteration, ∇ƒ(x^(k)) is the gradient of the dualvariables vector with respect to the current iteration x_(i_(k))^(k + 1)is the vector element corresponding to the selected coordinate indexwith respect to the next iteration, x_(i_(k))^(k) is the vector elementcorresponding to the selected coordinate index with respect to thecurrent iteration, a_(i) _(k) is the i_(k) column of a given matrix A,and A^(H) is a Hermitian of given matrix A.
 17. The method of claim 1,wherein the function of the signal vector subject to the unit-modulusconstraint is associated with one of: multiple-input multiple output(MIMO) symbol detection operations, localization of a signal sourceoperations, signal phase synchronization operations, and phase-onlybeamforming operations.
 18. A method of communications in a wirelesscommunication network in which at least one operation is expressed asone of a unit-modulus least squares (UMLS) and unit-modulus quadraticprogram (UMQP) problems, wherein the one of a UMLS and UMQP problemexpression includes a function of a signal vector subject to aunit-modulus constraint, wherein the function of the signal vector isiteratively minimized over a set of coordinates to a convergence point,the method comprising: receiving as input a given matrix and a givenvector; initializing the signal vector with an initial value of zero;constructing a vector based on a multiplication of the given matrix andthe initial signal vector; selecting, at a current iteration of theoptimizing operations, a coordinate index corresponding to a vectorelement of the signal vector; and applying, at the current iteration,minimizing operations to the function of the signal vector with respectto the vector element corresponding to the selected coordinate index,wherein the minimizing operations result in an optimal value for thevector element corresponding to the selected coordinate index withrespect to a next iteration, the next iteration being subsequentlyadjacent to the current iteration, and wherein vector elementscorresponding to coordinate indices different than the selectedcoordinate index are not changed by the minimizing operations in thecurrent iteration; and updating the vector constructed based on thegiven matrix and the signal vector with respect to the next iteration,wherein updating the vector includes a scalar-vector multiplicationoperation of the sum of the vector element optimized with respect to thenext iteration and the vector element optimized with respect to thecurrent iteration, and a particular column of the given matrix.
 19. Themethod of claim 18, wherein the minimizing operations of the function ofthe signal vector include computing the optimal value for the vectorelement corresponding to the selected coordinate index with respect to anext iteration in accordance with exponential formulation of a complexnumber x_(i_(k))^(k + 1) = e^(j ∠ − (t_(i_(k)) + v_(i_(k)))), where kis the current iteration, i_(k) is the selected coordinate index, e isthe exponential function, ν is the given vector, ν_(i) _(k) is the i_(k)element of given vector ν, andt_(i_(k)) = h_(i_(k))^(k) − x_(i_(k))^(k)c_(i_(k)i_(k))d_(i_(k)) = x_(i_(k))^(k)a_(i_(k)i_(k)) − r^(k),where h is the constructed vector, and r^(k) is the residual of thefunction of the signal vector with respect to the current iteration. 20.An apparatus for wireless communication in a multiple-inputmultiple-output (MIMO) wireless communications network, the apparatuscomprising: a memory; and at least one processor coupled to the memory,the at least one processor configured to: receive, by at least onereceiving module of a plurality of receiving modules, a plurality ofsignals via a MIMO channel, each signal of the plurality of signalsincluding transmission symbols, each signal associated with a coordinatevalue corresponding to a respective transmission source path, whereineach signal is used to construct a signal vector, wherein each vectorelement of the signal vector corresponds to a particular signalassociated with a particular transmission source path; and detect thetransmission symbols at each of the plurality of receiving modules,wherein the detection of the transmission symbols comprises iterativelyminimizing a function of the signal vector over the coordinate valuesassociated with the plurality of signals to a convergence point, whereinthe iteratively minimizing includes: selecting, at a current iteration,a coordinate index corresponding to a coordinate associated with thesignal received via a particular transmission source path; applying, atthe current iteration, minimizing operations to the function of thesignal vector with respect to the vector element corresponding to theselected coordinate index, wherein the minimizing operations result inan optimal value for the vector element corresponding to the selectedcoordinate index with respect to a next iteration, the next iterationbeing subsequently adjacent to the current iteration, and wherein vectorelements corresponding to coordinate indices different than the selectedcoordinate index are not changed by the minimizing operations in thecurrent iteration; updating a residual of the function of the signalvector, with respect to the next iteration, based on the optimal valuefor the vector element, wherein updating the residual value of the nextiteration includes a scalar-vector multiplication operation of theoptimal value for the vector element; determining whether the functionof the signal vector has converged to the convergence point within apredetermined threshold; and detecting, when the function of the signalvector has been determined to converge to the convergence point withinthe predetermined threshold, the symbols in the signals corresponding tothe vector elements of the converged signal vector.